<?php

/*-----------------------------------------------------------*\
|                  -  Авторизація    -                       |
|                 Author:  Skalden Russell                    |
|                 Last modify: 20130104                      |
\*-----------------------------------------------------------*/

////// Початок нової сесії
session_start();

//-------------------------------------------------------------
// Якщо користувач вже авторизувався автоматично редирект на userpage.php
//-------------------------------------------------------------

if($_SESSION['user_logged'] == TRUE)
{
	header("Location: userpage.php");
}

//-------------------------------------------------------------


////// Встановлення кодування UTF-8
header('Content-Type: text/html; charset=utf-8');

// Відображати помилки
@ini_set('display_errors', true );
@ini_set('error_reporting', E_ALL ^ E_NOTICE);

// MD5 SALT
define('MD5_SALT', 'TSUE');

// Безпека
define('TSUE_SEC', TRUE);

// Максимальна кількість сброб введення логін/пароль (antibrutforce)
define('TSUE_SEC_ABF', 20);

// Поточний каталог
define('TSUE_DIR', dirname(__FILE__));

// Встановити кодування
$CFG['charset'] = "utf-8";

// Налаштування системи
include_once( TSUE_DIR . '/data/settings.php' );
// Локалізація
// include_once( TSUE_DIR . '/data/language/ru_loc/ru_adminpanel.lng');
// Налаштування БД
include_once( TSUE_DIR . '/data/config.php');
// Клас SQL
include_once( TSUE_DIR . '/engine/database/cmysql.php');
// Элементи wEngine
include_once( TSUE_DIR . '/engine/elements.php');
// Парсер ресурсу
include_once( TSUE_DIR . '/engine/include/build.content.php');
// Кодування/Декодування тексту
include_once( TSUE_DIR . '/engine/include/security.text.php');

$pContent = new CContent();
$login_error = " ";
//-------------------------------------------------------------
//                  Перевірка шифру і пароля
//-------------------------------------------------------------
if(isset($_POST['login_btn']) && ($_SESSION['login_attempt'] != TSUE_SEC_ABF) && ($_SESSION['sec_code_session'] == trim($_POST['securitykey'])))
{
	$_POST['password'] = trim($_POST['password']);
	$_POST['username'] = trim($_POST['username']);
	
	$login_incorrect = TRUE;
	$login_password = md5(md5($_POST['password']) . md5(MD5_SALT));
	
	// Перевірка на правильність імені користувача
	if(preg_match("/^[a-zA-Z0-9]+$/", $_POST['username'])) 
	{
		$sql = new cMysql();
		$sql->connect($SQL_CONF['host'], $SQL_CONF['user'], $SQL_CONF['pass'], $SQL_CONF['dbname']);
		$row = $sql->fetch_assoc("SELECT `username`,`password` FROM `". $SQL_CONF['pref'] ."user` WHERE `username`='". $_POST['username'] ."' AND `userid`<>'1' LIMIT 0, 1");
		
		$sql->close();
		
		// Перевірка LOGIN=LOGIN, PASS=PASS
		if( ($_POST['username'] == $row[0]['username']) && ( $login_password == $row[0]['password']) )
		{
			$login_incorrect = FALSE;
			$_SESSION['user_logged'] = TRUE;
			header("Location: userpage.php");

		}
	}
	

	if($login_incorrect === TRUE)
	{
		// Анті brutforce
		if( !isset($_SESSION['login_attempt']) )
		{
			$_SESSION['login_attempt'] = 1;
		}
		else
		{
			$_SESSION['login_attempt'] = $_SESSION['login_attempt'] + 1;
		}
		
		
		if( $_POST['username'] !== $row[0]['username'] )
		{
			$login_error .= 'Введено неправильний шифр.<br />';
		}
		
		if( $login_password !== $row[0]['password'] )
		{
			$login_error .= 'Введено неправильний пароль.<br />';
		}
		
		
	}
	
}

if(isset($_POST['login_btn']) && ($_SESSION['sec_code_session'] != trim($_POST['securitykey'])))
{
	$login_incorrect = TRUE;
	$login_error .= "Введений <b>код</b> не сбігається з кодом зображення";
}

if($login_incorrect === TRUE)
{
	$login_error = '<br /><div align="center">
		<div align="center" style="width: 50%; border: 1px solid #FF3333; background-color: #FFCCCC; padding: 5px; overflow: auto;">'. $login_error .'</div>
		</div><br />';
}

//-------------------------------------------------------------
//                Кінець перевірки шифру і пароля
//-------------------------------------------------------------



$pContent->SetReplace('errorsmessage', $login_error);	
$pContent->SetReplace( 'phpself', $_SERVER['PHP_SELF'] );
$pContent->SetReplace( "indexcontent", $pContent->getContent('styles/' . $MALINA_CONF['theme_cur'] . '/login.html', 'r'));
echo $pContent->getContent('styles/' . $MALINA_CONF['theme_cur'] . '/index.html', 'r');


?>